// Copyright (c) 2021 Dmitry Meduho
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// Notwithstanding the foregoing, you may not use, copy, modify, merge, publish,
// distribute, sublicense, create a derivative work, and/or sell copies of the
// Software in any work that is designed, intended, or marketed for pedagogical or
// instructional purposes related to programming, coding, application development,
// or information technology.  Permission for such use, copying, modification,
// merger, publication, distribution, sublicensing, creation of derivative works,
// or sale is expressly withheld.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.

import EquinoxAssets
import EquinoxUI

extension CreateContentView.Style {
    static var `default`: CreateContentView.Style {
        return .init(
            ownStyle: .init(
                overlayBackgroundColor: Color.createOverlay,
                overlayBorderColor: Color.createOverlayBorder
            ),
            headerStyle: .init(
                statusStyle: .init(
                    font: Font.largeTitle(.bold),
                    color: Color.label
                ),
                descriptionStyle: .init(
                    font: Font.title2(.regular),
                    color: Color.secondaryLabel
                )
            ),
            animatedImageStyle: .init(
                progressColor: Color.controlAccent,
                borderColor: Color.wallpaperBorder
            ),
            bottomStyle: .init(
                tagStyle: .init(
                    ownStyle: .init(
                        backgroundColor: Color.createDescriptionBackground
                    ),
                    titleStyle: .init(
                        font: Font.callout(.regular),
                        color: Color.label
                    )
                ),
                buttonsStyle: .init(
                    ownStyle: .init(
                        saveImage: Image.save,
                        setImage: Image.set,
                        fileImage: Image.file,
                        cancelImage: Image.cancel,
                        shareImage: Image.share
                    ),
                    pushStyle: .default
                ),
                lineStyle: .init(
                    color: Color.createSeparator
                )
            )
        )
    }
}
